package cn.youqu.happy.module.youqu.convert.userFollows;

import cn.youqu.happy.framework.common.pojo.PageResult;
import cn.youqu.happy.module.youqu.controller.admin.userFollows.vo.*;
import cn.youqu.happy.module.youqu.controller.app.userFollows.vo.AppUserFollowsFollowReqVO;
import cn.youqu.happy.module.youqu.controller.app.userFollows.vo.AppUserFollowsPageReqVO;
import cn.youqu.happy.module.youqu.controller.app.userFollows.vo.AppUserFollowsRespVO;
import cn.youqu.happy.module.youqu.controller.app.userFollows.vo.AppUserFollowsUpdateReqVO;
import cn.youqu.happy.module.youqu.dal.dataobject.userFollows.UserFollowsDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 用户关注 Convert
 *
 * @author 王其岩  20112001045
 */
@Mapper
public interface UserFollowsConvert {

    UserFollowsConvert INSTANCE = Mappers.getMapper(UserFollowsConvert.class);

    UserFollowsDO convert(UserFollowsCreateReqVO bean);

    UserFollowsDO convert(UserFollowsUpdateReqVO bean);

    UserFollowsRespVO convert(UserFollowsDO bean);

    AppUserFollowsRespVO convert0(UserFollowsDO bean);

    UserFollowsPageReqVO convert(AppUserFollowsPageReqVO bean);

    List<UserFollowsRespVO> convertList(List<UserFollowsDO> list);

    PageResult<UserFollowsRespVO> convertPage(PageResult<UserFollowsDO> page);

    List<UserFollowsExcelVO> convertList02(List<UserFollowsDO> list);

    PageResult<AppUserFollowsRespVO> convertPage0(PageResult<UserFollowsDO> pageResult);

    List<AppUserFollowsRespVO> convertList0(List<UserFollowsDO> list);

    UserFollowsDO convert(AppUserFollowsFollowReqVO followReqVO);

    UserFollowsDO convert(AppUserFollowsUpdateReqVO updateReqVO);
}
